package com.example.pt.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.pt.entity.UserSeedStats;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 用户保种统计Mapper接口
 */
@Mapper
public interface UserSeedStatsMapper extends BaseMapper<UserSeedStats> {

    /**
     * 获取用户的所有保种记录
     * @param userId 用户ID
     * @return 保种记录列表
     */
    @Select("SELECT * FROM user_seed_stats WHERE user_id = #{userId}")
    List<UserSeedStats> getUserSeedStats(@Param("userId") Integer userId);
    
    /**
     * 获取用户的总保种积分
     * @param userId 用户ID
     * @return 总保种积分
     */
    @Select("SELECT COALESCE(SUM(seed_points), 0) FROM user_seed_stats WHERE user_id = #{userId}")
    Integer getTotalSeedPoints(@Param("userId") Integer userId);
    
    /**
     * 获取用户某个种子的保种记录
     * @param userId 用户ID
     * @param infoHash 种子哈希
     * @return 保种记录
     */
    @Select("SELECT * FROM user_seed_stats WHERE user_id = #{userId} AND info_hash = #{infoHash}")
    UserSeedStats getUserSeedStatsByInfoHash(@Param("userId") Integer userId, @Param("infoHash") String infoHash);
} 